1. Field of the Invention
The present invention relates to the technical field of transmission speed for sending/receiving data by way of a network. More particularly, it relates to the technical field of selecting a transmission speed for a serial transmission system conforming to the IEEE1394 Standard.
2. Description of Related Art
The significance of technologies conforming to IEEE1394 Standard (formal nomenclature, “IEEE Std. 1394-1995 IEEE Standard for a High Performance Serial Bus) has remarkably increased in recent years because of the effectiveness for transferring digital data on the background of the rapid expansion of digital contents and the trend of digitization package mediums.
Generally, IEEE1394 Standard is suited for transferring AV digital data including audio data and video data.
According to IEEE1394 Standard, a plurality of communication devices (to be referred to simply as nodes hereinafter) are connected to each other by way of a serial bus that operates as network and data for a plurality of channels between nodes (the standard provides that maximally sixty three different channels can be used for data transmission within a system using a single serial bus for interconnection) are transmitted on a time division basis. Additionally, the standard provides high-speed serial transmission of data at a transmission speed of 100 Mbps (bits per second (to be referred to as S100 hereinafter)), 200 Mbps (to be referred to as S200 hereinafter) or 400 Mbps (to be referred to as S400 hereinafter).
IEEE1394 Standard also provides that, when a new node is connected to a group of nodes that are already interconnected by a serial bus (at the time of bus connection) or when a node is removed from a group of nodes that are interconnected by a serial bus (at the time of bus release), initialization of the serial bus (so-called bus reset) is carried out. Once the bus is reset, predetermined processing operations are performed as described in greater detail hereinafter and a new connection mode (to be referred to as topology hereinafter) is defined for the serial bus to improve the degree of freedom of connection and hence that of convenience on the part of system users.
IEEE1394 Standard also defines two data transmission modes including an asynchronous transfer mode and an isochronous transfer mode.
The asynchronous transfer mode guarantees that packets are reliably transmitted to the target node. In an asynchronous transfer mode, the sender node transmits packets containing header information and actual data to the target node. As the target node receives the packets, it typically transmits an acknowledge packet that contains a message that the target node recognizes reception of the packets (reception information) back to the sender node. Thus, the sender node that has transmitted the packets confirms that the target node has received the transmitted packets when it receives the acknowledge packet.
In the isochronous transfer mode, a data communication takes place in synchronism with transmission of a cycle start packet by a sole cycle master node that exists on the bus and the transmission is repeated at regular intervals (125 μsec). In the isochronous transfer mode, instead of transmitting packets to a particular target node, packets (the below-described isochronous packets) are transmitted to the entire bus by way of one of a plurality of channels. Unlike in the asynchronous transfer mode, the target node does not transmit an acknowledge packet to the sender node when it receives the packets transmitted from the sender node.
Conventionally, according to IEEE1394 Standard, the maximum transmission speed for transmitting packets in an asynchronous transfer mode (to be referred to as asynchronous packets hereinafter) or in an isochronous transfer mode (to be referred to as isochronous packets hereinafter) between a node trying to transfer data (to be referred to as self node hereinafter) and a node that receives the data (to be referred to as target node hereinafter) needs to be determined by following the procedure of (1) recognizing the topologies of each and every node of the transmission path (to be referred to as each and every path node hereinafter) and acquiring the transmission speed corresponding to the physical layer (physical layer chip) of each and every path node (to be referred to as PHY SPEED hereinafter), (2) acquiring the transmission speed corresponding to the link layer (link layer chip) of the target node (to be referred to as LINK SPEED hereinafter) and (3) performing a topological analysis.
(1) Acquisition of PHY SPEED at the Physical Layer of Each and Every Path Node
The self identifying information (to be referred to as self-ID packet hereinafter) transmitted from each and every path node after a bus reset is acquired for the purpose of acquiring the PHY SPEED of the physical layer of each and every path node.
Self-ID packets in each node are transmitted in the following manner.
When a bus reset takes place, firstly a processing operation for recognizing all the topologies of the connected nodes (tree identification) is performed. In this operation, a single node is eventually selected as root node by determining the orientation of each and every connected port toward a root node.
Then, a processing operation for self identification of each node is performed. In this operation, each node acquires information for self identification (physical layer ID) that is unique on the bus and necessary for identification and transmits a self-ID packet that is necessary for bus management and contains the physical layer ID and information on the transmission speed corresponding to the self node.
Each and every path node acquires the self-ID packets transmitted from the other nodes. In this way, it is possible to acquire information on the transmission speed of each and every path node.
FIG. 1 is a schematic illustration of the configuration of a self-ID packet 10 that each and every path node transmits. The self-ID packet 10 has a phy ID field 11 describing information necessary for identifying the physical layer of the self node, a sp field 12 describing information on the transmission speed of the physical layer, a p0 field 13, a p1 field 14, and a p2 field 15 (the p0 field 13, the p1 field 14 and the p2 field 15 describing information on the connection status of the self node), and a data area 16.
All the other nodes acquire the transmission speed by reading the sp field 12. The sp field 12 currently contains a 2-bit data. For example, “00”, “01” and “11” may respectively indicate S100, S200 and S400. The self-ID packet 10 contains other data as well.
(2) Acquisition of LINK SPEED at the Link Layer of the Target Node
Information on various communication requests for data communication (in IEEE1394 Standard, a communication request is defined as transaction, and transmission of communication requests is defined as issuance of a transaction) is transmitted in an asynchronous transfer mode and the transmission speed of the link layer written in the configuration ROM that stores information specific to the device is acquired for the purpose of acquiring the LINK SPEED of the link layer of the target node.
More specifically, the self node issues a transaction and reads 4-Byte data (1 Quadlet) from a bus information block 20 in the configuration ROM of the target node shown in FIG. 2. Then, the self node acquires a link spd field 21, which describes the transmission speed, of the bus information block 20 so as to acquire the transmission speed of the target node.
Note that link spd field 21 also contains a 2-bit data and describes, for example, “00”, “01” and “11”, which may respectively indicate S100, S200 and S400, as in the case of the sp field 12 of the physical layer. The bus information block 20 also contains a cyc clk acc field 22 that indicates the clock accuracy at the time of synchronous communication, a node vendor ID field 23 that indicates the unique ID of the device, a chip ID field 24 and a data area 25 for other data.
(3) Topological Analysis
In the topological analysis, the maximum transmission speed at which data can be transmitted is determined on the basis of the transmission speed of each and every path node and the transmission speed at which the connected target node can receive signals that are acquired in a manner as described above. In other words, in the topological analysis, it is determined whether other nodes are connected between the self node and the target node or not and the transmission speed is determined on the basis of the topologies of the other nodes.
To determine if other nodes are connected between the self node and the target node, the topology of each of the other nodes is analyzed by referring to the p0 field 13, the p1 field 14 and the p2 field 15 of the self-ID packet 10, which are described above by referring to FIG. 2. For example, the topology of the node is analyzed by finding out if it is “a node connected to the root side”, “a node connected to the side opposite to the root side” or “an unconnected node”. When other nodes are connected between the self node and the target node, the path down to the target node will be recognized and node information on the other node located on the path will be acquired.
Now, as an example, a conventional process of defining the transmission speed between nodes according to IEEE1394 Standard will be described below.
For example, as shown in FIG. 3, when a device B exists between a device A trying to transfer data and a device C to which the data will be transferred, and both the PHY SPEED of the physical layer and the LINK SPEED of the link layer of the device A are S400, while the PHY SPEED of the physical layer and the LINK SPEED of the link layer of the device B are respectively S200 and S100 and both the PHY SPEED of the physical layer and the LINK SPEED of the link layer of the device C are S400, then the maximum inter-node transmission speed between the device A and the device B via the link layers thereof is S100 and the maximum inter-node transmission speed between the device A and the device C via the physical layers thereof is S200.
However, with the above described known method of determining the transmission speed according to the IEEE1394 Standard, it is necessary to carry out the operations by the steps of (1) acquire the PHY SPEED of the physical layer of each and every path node, (2) acquire the LINK SPEED of the link layer of the target node (and also that of each and every node on the transfer path) and (3) perform an topological analysis as pointed out above. Then, there arise problems including one that these operations are time consuming.
Another problem that arises is that the topological analysis may be a complex one particularly when a large number of nodes exist on the transfer path and the number of operations needed to be carried out before determining the transmission speed may increase. Then, the efficiency of the processing operations will be worsened.
Additionally, IEEE1394 Standard specifically includes IEEE1394-1995 Standard and IEEE1394a-2000 Standard. The bus information block 20 of a communication device that does not conform to IEEE1394a-2000 does not have a link spd field 21 that describes the transmission speed. Then, the transmission speed of the link layer is not known and there arise problems including one that the transmission speed cannot be determined appropriately.